Off-line programming apparatus, robot controller, and augmented reality system

ABSTRACT

An off-line programming apparatus includes a model creation unit that creates three-dimensional models of a robot and a load, a storage unit that stores a dynamic parameter of the load, a graphic creation unit that creates a three-dimensional graphic representing the dynamic parameter based on the dynamic parameter, and a display unit that displays the three-dimensional models of the robot and the load and the three-dimensional graphic. The dynamic parameter includes inertia around three axes that are orthogonal to one another at a centroid of the load. The three-dimensional graphic is a solid defined by dimensions in three directions orthogonal to one another. The graphic creation unit sets a ratio of the dimensions in the three directions of the three-dimensional graphic to a ratio corresponding to a ratio of the inertia around the three axes.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of Japanese Patent Application No.2019-106910, the content of which is incorporated herein by reference.

FIELD

The present invention relates to an off-line programming apparatus, arobot controller, and an augmented reality system.

BACKGROUND

In recent years, in control of an industrial robot, importance ofappropriate control such as feedforward control has been increased tomeet demands for high-speed robot motion and high locus accuracy (forexample, Japanese Unexamined Patent Application, Publication No.2017-056525). To appropriately control the robot, it is important to setan appropriate value of the dynamic parameters of each of the robot anda load connected to the robot. The load is, for example, an end effectorsuch as a tool and a hand. The dynamic parameters include, for example,mass, centroid positions, and inertia around the centroids of the robotand the load.

On the other hand, a robot simulation apparatus that displays a centroidposition or a motion state of a robot on a display is well known (forexample, Japanese Unexamined Patent Application, Publication No.2018-008326 and Japanese Unexamined Patent Application, Publication No.2003-300185).

SUMMARY

According to an aspect of the present disclosure, an off-lineprogramming apparatus that creates a motion program of a robot off line,includes: a model creation unit that creates a three-dimensional modelof the robot and a three-dimensional model of a load connected to afront end of a robot arm of the robot; a storage unit that stores adynamic parameter of the load; a graphic creation unit that creates athree-dimensional graphic representing the dynamic parameter based onthe dynamic parameter stored in the storage unit; and a display unitthat displays the three-dimensional models of the robot and the load,and the three-dimensional graphic. The dynamic parameter includesinertia around three axes that are orthogonal to one another at acentroid of the load. The three-dimensional graphic is a solid definedby dimensions in three directions orthogonal to one another. The graphiccreation unit sets a ratio of the dimensions in the three directions ofthe three-dimensional graphic to a ratio corresponding to a ratio of theinertia around the three axes.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram illustrating exemplary three-dimensional models of arobot and a load.

FIG. 2 is a diagram illustrating an example in which a three-dimensionalgraphic representing the dynamic parameter of the load is synthesizedwith the three-dimensional models

FIG. 3 is a block diagram of an off-line programming apparatus accordingto an embodiment.

FIG. 4 is a diagram to explain the three-dimensional graphic.

FIG. 5 is an entire configuration diagram of a robot system according toanother embodiment.

FIG. 6 is an entire configuration diagram of an augmented reality systemaccording to still another embodiment.

DETAILED DESCRIPTION OF EMBODIMENTS

An off-line programming apparatus 10 according to an embodiment of thepresent disclosure is described below with reference to drawings.

As illustrated in FIG. 1 , the off-line programming apparatus 10displays a virtual space S where a three-dimensional model A1 of a robot1 and a three-dimensional model A2 of a load 2 are disposed, and createsa motion program of the robot 1 off line based on an motion pathspecified in the virtual space S by a user. As illustrated in FIG. 2 ,the off-line programming apparatus 10 further displays athree-dimensional graphic B representing a dynamic parameter of the load2 together with the three-dimensional models A1 and A2.

The robot 1 is an industrial robot including a robot arm 1 a. In FIG. 1and FIG. 2 , a six-axis vertical articulated robot is illustrated as anexample of the robot 1. The robot 1 may be an industrial robot of theother type such as a horizontal articulated robot and a parallel linkrobot. The load 2 is an object connected to a wrist flange 1 b at afront end of the robot arm 1 a, and is an end effector such as a tooland a hand.

As illustrated in FIG. 3 , the off-line programming apparatus 10includes a storage unit 11, a model creation unit 12, a graphic creationunit 13, a synthesis unit 14, a display unit 15, a path setting unit 16,and a program creation unit 17.

The off-line programming apparatus 10 is realized by a computer such asa personal computer. The computer includes a processor like a centralprocessing unit, a main storage device including a RAM, a ROM, and thelike, an auxiliary storage device including an HDD and the like, adisplay, and an input device such as a mouse, a keyboard, and a touchpanel. The auxiliary storage device stores a motion program creationprogram. The functions described below of the respective units 12, 13,14, 16, and 17 are realized when the processor performs processingaccording to the motion program creation program.

The storage unit 11 includes, for example, an auxiliary storage device.The storage unit 11 stores three-dimensional shape data of the robot 1,three-dimensional shape data of the load 2, and virtual space data. Thestorage unit 11 may include a plurality of pieces of three-dimensionalshape data of the load 2. Each of the three-dimensional shape data andthe virtual space data is, for example, three-dimensional CAD data.

The storage unit 11 further stores a value of the dynamic parameter ofthe load 2. The dynamic parameter includes mass M, a centroid position,and three inertia Ix, Iy, and Iz around the centroid of the load 2. Theinertia Ix, Iy, and Iz are inertia around an Xi axis, a Yi axis, and aZi axis, respectively, that are orthogonal to one another at thecentroid of the load 2. The Xi axis, the Yi axis, and the Zi axis areaxes in a load coordinate system fixed to the load 2. The value of thedynamic parameter is input and set to the off-line programming apparatusby the user through, for example, the input device.

The model creation unit 12 reads out the three-dimensional shape data ofthe robot 1 from the storage unit 11, and creates the three-dimensionalmodel A1 of the robot 1 from the three-dimensional shape data. Further,the model creation unit 12 reads out one piece of three-dimensionalshape data of the load 2 from the storage unit 11, and creates thethree-dimensional model A2 of the load 2 from the three-dimensionalshape data. Thereafter, the model creation unit 12 connects thethree-dimensional model A2 of the load 2 to the wrist flange 1 b of thethree-dimensional model A1 of the robot 1.

As illustrated in FIG. 4 , the three-dimensional graphic B is anellipsoid. The ellipsoid is defined by diameters 2×a, 2×b, and 2×c inthree directions orthogonal to one another. The graphic creation unit 13sets a basic size of the ellipsoid based on the mass M, and sets a ratioof the diameters 2×a, 2×b, and 2×c to a ratio corresponding to a ratioof the inertia Ix, Iy, and Iz. For example, the graphic creation unit 13creates a sphere having a diameter corresponding to the mass M, and thenreduces or enlarges each of the diameters in the three directions of thesphere based on the radio of the inertia Ix, Iy, and Iz, therebycreating the ellipsoid. A specific example of the method of creating thethree-dimensional graphic B is described below.

The synthesis unit 14 synthesizes the three-dimensional graphic B withthe three-dimensional model A1 of the robot 1 and the three-dimensionalmodel A2 of the load 2 such that a center position of thethree-dimensional graphic B is coincident with the centroid position ofthe load 2. Further, the synthesis unit 14 reads out the virtual spacedata from the storage unit 11, and creates the three-dimensional virtualspace S from the virtual space data. The virtual space S is a spaceincluding a motion range of the robot 1. Thereafter, the synthesis unit14 disposes the three-dimensional models A1 and A2 synthesized with thethree-dimensional graphic B in the virtual space S, and displays thevirtual space S together with the three-dimensional models A1 and A2 andthe three-dimensional graphic B on the display unit 15. The display unit15 is, for example, a display of the computer.

The synthesis unit 14 may synthesize the three-dimensional graphic Bwith the three-dimensional models such that the directions of the threeaxes Xg, Yg, and Zg of the three-dimensional graphic B are coincidentwith the directions of the three axes of the wrist coordinate system;however, the axes Xg, Yg, and Zg of the three-dimensional graphic B maynot necessarily be coincident with the three axes of the wristcoordinate system. The wrist coordinate system is a three-dimensionalorthogonal coordinate system fixed to the wrist flange 1 b. For example,the synthesis unit 14 may adjust an attitude in the coordinate system ofthe three-dimensional graphic B to the wrist coordinate system such thatproducts of inertia in the coordinate system of the three-dimensionalgraphic B become zero.

The path setting unit 16 sets the motion path of the robot 1 based onone or more points or one or more lines designated in the virtual spaceS by the user. For example, the user designates one or more teachingpoints and its order in the virtual space S displayed on the displayunit 15, by using the input device. The path setting unit 16 sets a paththat passes through the one or more teaching points in the designatedorder, as the motion path.

The program creation unit 17 creates a motion program to control therobot 1 based on the set motion path. For example, the program creationunit 17 creates the motion program so as to move the load 2 along themotion path. The created motion program is stored in the storage unit11.

Next, an operation of the off-line programming apparatus 10 isdescribed.

First, the value of the dynamic parameter of the load 2 is set to theoff-line programming apparatus 10 by the user, and is stored in thestorage unit 11. Next, the three-dimensional model A1 of the robot 1 towhich the three-dimensional model A2 of the load 2 is connected iscreated by the model creation unit 12, and the three-dimensional graphicB representing the value of the dynamic parameter of the load 2 iscreated by the graphic creation unit 13.

Next, the three-dimensional graphic B is synthesized with thethree-dimensional models A1 and A2 by the synthesis unit such that thecenter position of the three-dimensional graphic B is coincident withthe centroid position of the three-dimensional model A2 of the load 2,and the three-dimensional graphic B and the three-dimensional models A1and A2 are disposed in the three-dimensional virtual space S.Thereafter, the virtual space S including the three-dimensional modelsA1 and A2 and the three-dimensional graphic B is displayed on thedisplay unit 15.

The user designates the points or the lines representing the motion pathin the virtual space S displayed on the display unit 15, by using theinput device. The motion path is set by the path setting unit 16 basedon the points or the lines designated by the user.

Next, the motion program based on the set motion path is created by theprogram creation unit 17.

As described above, according to the present embodiment, thethree-dimensional graphic B that visualizes the value of the dynamicparameter of the load 2 set by the user is displayed on the display unit15. This enables the user to visually confirm whether the set value ofthe dynamic parameter is appropriate, based on the three-dimensionalgraphic B.

More specifically, a size of the entire three-dimensional graphic Broughly represents the mass of the load 2. The center position of thethree-dimensional graphic B represents the centroid position of the load2. The ratio of the diameters 2×a, 2×b, and 2×c of the three-dimensionalgraphic B in the three directions represents relative sizes of theinertia Ix, Iy, and Iz. Accordingly, the user can intuitively judgewhether the set values of the mass M and the centroid position of theload 2 are appropriate by comparing the three-dimensional graphic B andthe three-dimensional model A2 of the load 2 displayed on the displayunit 15. Further, the user can intuitively judge whether the set valuesof the inertia Ix, Iy, and Iz are appropriate, from the dimensions ofthe three-dimensional graphic B in the three directions displayed on thedisplay unit 15.

Next, an example of the method of creating the three-dimensional graphicB by the graphic creation unit 13 is described.

As illustrated in FIG. 4 , the three-dimensional graphic B is anellipsoid. First, a radius r of the sphere is determined from thefollowing expression. A diameter 2×r of the sphere corresponds to abasic size of the ellipsoid. The diameter of each of the sphere and theellipsoid is increased as the mass M of the load 2 is increased.r=(3M/4πρ^(1/3)

In the expression, ρ is density of the load 2. The density ρ is set bythe user, and is stored in the storage unit 11. For example, in a casewhere an iron tool is often used as the load 2, the density ρ is 7.8×10³[Kg/m³] that is density of iron.

Next, the radiuses a, b, and c of the ellipsoid are calculated based onthe values of the inertia Ix, Iy, and Iz around the Xi axis, the Yiaxis, and the Zi axis of the load 2.

To calculate the radiuses a, b, and c, values na2, nb2, and nc2 that arerespectively proportional to squares of the radiuses a, b, and c arefirst calculated.na2=Iy+Iz−Ixnb2=Iz+Ix−Iync2=Ix+Iy−Iz

In a case where any of the values na2, nb2, and nc2 is lower than zero,the value lower than zero is corrected to zero. For example, in a casewhere the value na2 is lower than zero, the value na2 is corrected tozero.

Note that the following formulae to determine the inertia Ix, Iy, and Izof the ellipsoid that has the diameters 2×a, 2×b, and 2×c and the mass Mare commonly known.Ix=(b ² +c ²)M/5Iy=(c ² +a ²)M/5Iz=(a ² +b ²)M/5

The above-described relational expressions of the values na2, nb2, andnc2 and the inertia Ix, Iy, and Iz are derived by deforming theformulae.

Next, values na, nb, nc, and nmax are determined from the values na1,nb2, and nc2.na=(na2)^(1/2)nb=(nb2)^(1/2)nc=(nc2)^(1/2)nmax=max{na,nb,nc}

In a case where the value nmax is zero, the values nmax, na, nb, and ncare all corrected to one. In a case where any of the values na, nb, andnc is lower than 0.1×nmax, the value lower than 0.1×nmax may becorrected to 0.1×nmax. For example, in a case where the value na islower than 0.1×nmax, the value na may be corrected to 0.1×nmax.

Next, values N, Na, Nb, and Nc are determined from the values na, nb,and nc.N=(na·nb·nc)^(1/3)Na=na/NNb=nb/NNc=nc/N

Next, the radiuses a, b, and c of the ellipsoid are determined from thevalues Na, Nb, Nc, and r.a=Na·rb=Nb·rc=Nc·r

Examples of the dynamic parameter of the load 2 and thethree-dimensional graphic B in FIG. 1 and FIG. 2 are described below.Mass M=207[Kg]Centroid position (X,Y,Z)=(0,0,0.211)[m]Inertia (Ix,Iy,Iz)=(35.6,14.6,22.5)[Kgm²]

Note that, in this example, the products of inertia in the wristcoordinate system are zero.

In the above-described dynamic parameter, the density p of the load 2 is7.8×10³ [Kg/m³]; however, the density ρ of 5.0×10³ [Kg/m³] is used increation of the three-dimensional graphic B in order to display thethree-dimensional graphic B in a slightly larger size for viewingeasiness. The calculation is performed based on the above-describedexpressions to determine the following values.(a,b,c)=(0.0732,0.411,0.328)[m]

As described above, a value larger than or smaller than the density ρ ofthe load 2 may be used. For example, the value of the density ρ of theload 2 used in creation of the three-dimensional graphic B may bechangeable by the user.

The dimensions of the three-dimensional graphic B displayed on thedisplay 15 are varied depending on the density ρ in addition to the massM. For example, to largely display the three-dimensional graphic B onthe display 15, the user may set a value smaller than the actual densityρ of the load 2. For example, in a case where the load 2 is made ofiron, the density ρ may be set to 5.0×10³.

In the above-described embodiment, the three-dimensional graphic Brepresenting the value of the dynamic parameter of the load 2 isdisplayed on the display unit 15 of the off-line programming apparatus10; however, the display of the three-dimensional graphic B may beapplied to the other optional system that displays the three-dimensionalmodel of the robot 1 or the real robot 1.

FIG. 5 illustrates an example of a robot system 20 according to anotherembodiment of the present disclosure. The robot system 20 includes therobot 1 and a robot controller 21 that controls the robot 1. The robotcontroller 21 includes a controller body 22 and a teach pendant 23 thatis operated by the user to teach motion to the robot 1. The controllerbody 22 is connected to the robot 1 and the teach pendant 23.

The robot controller 21 includes the storage unit 11, the model creationunit 12, the graphic creation unit 13, the synthesis unit 14, and thedisplay unit 15 described above. For example, the storage unit 11includes a storage device incorporated in the controller body 22, andthe model creation unit 12, the graphic creation unit 13, and thesynthesis unit 14 are realized by a processor incorporated in thecontroller body 22. The teach pendant 23 includes the display unit 15,and the virtual space S where the three-dimensional models A1 and A2 andthe three-dimensional graphic B are disposed is displayed on the displayunit 15. The three-dimensional graphic B may be synthesized with thethree-dimensional models A1 and A2 such that the center position of thethree-dimensional graphic B is coincident with the centroid position ofthe three-dimensional model A2 of the load 2.

FIG. 6 illustrates an example of an augmented reality (AR) system 30according to still another embodiment of the disclosure. The AR system30 provides augmented reality including the real robot 1 to the user.More specifically, the AR system 30 includes the robot 1, a head mounteddisplay (HMD) apparatus 31 mounted on a head of the user, and acontroller 32 connected to the robot 1 and the HMD apparatus 31.

The HMD apparatus 31 includes a display (display unit) 33 and a camera34. The display 33 is disposed in front of eyes of the user and displaysthe augmented reality including the real robot 1 and thethree-dimensional graphic B. The camera 34 acquires an image of therobot 1. The camera 34 may be fixed to an optional position around therobot 1.

The controller 32 includes the storage unit 11, the graphic creationunit 13, and the synthesis unit 14 described above. For example, thestorage unit 11 includes a storage device incorporated in the controller32, and the graphic creation unit 13 and the synthesis unit 14 arerealized by a processor incorporated in the controller 32. In thepresent embodiment, the synthesis unit 14 synthesizes thethree-dimensional graphic B with the image acquired by the camera 34.Preferably, the synthesis unit 14 synthesizes the three-dimensionalgraphic B with the image such that the center position of thethree-dimensional graphic B is coincident with the centroid position ofthe load 2 in the image. The image of the real robot 1 synthesized withthe three-dimensional graphic B is displayed as the augmented reality onthe display 33.

The display 33 may be a transparent display that allows light to passtherethrough. The user can view the real robot 1 through the transparentdisplay 33. In other words, in this case, the display 33 displays theaugmented reality including a see-through image of the real robot 1 andthe three-dimensional graphic B.

Further, the display 33 may be of an optional type disposed at anoptional position in place of the display of the HMD apparatus 31. Forexample, in place of the HMD apparatus 31, the AR system 30 may includea tablet computer that includes the display 33 and is carried by theuser.

In each of the above-described embodiments, the three-dimensionalgraphic B is the ellipsoid. Alternatively, the three-dimensional graphicB may be other solid. More specifically, the three-dimensional graphic Bmay be an optional solid as long as the solid is uniquely defined bydimensions in three directions orthogonal to one another. For example,the three-dimensional graphic B may be a rectangular parallelepiped oran elliptical column.

In each of the above-described embodiments, the graphic creation unit 13sets the dimensions of the three-dimensional graphic B based on the massM of the load 2. Alternatively, the graphic creation unit 13 may set thedimensions of the three-dimensional graphic B irrespective of the mass Mof the load 2. For example, the diameter 2×r of a sphere that is thebasic size of the three-dimensional graphic B may be set to a dimensiondesired by the user.

In each of the above-described embodiments, the synthesis unit 14synthesizes the three-dimensional graphic B such that the centerposition of the three-dimensional graphic B is coincident with thecentroid position of the load 2. Alternatively, the synthesis unit 14may synthesize the three-dimensional graphic B at an optional positionin the virtual space S or in the augmented reality.

The invention claimed is:
 1. An off-line programming apparatus thatcreates a motion program of a robot comprising: a display; and aprocessor that is configured to: cause the display to display athree-dimensional model of the robot and a three-dimensional model of aload connected to a robot arm of the robot; define a solid having threeradii extending in directions of three axes that are orthogonal to oneanother; determine a ratio of the three radii that corresponds to aratio of values of inertia around the three axes at a centroid of theload to define an ellipsoid having diameters in three directionsorthogonal to one another; and cause the display to display the definedellipsoid.
 2. The off-line programming apparatus according to claim 1,wherein the processor is further configured to cause the display todisplay the defined ellipsoid so that a center position of the definedellipsoid coincides with a position corresponding to the centroid of theload in the three-dimensional model of the load.
 3. The off-lineprogramming apparatus according to claim 1, wherein the processor isfurther configured to define the solid by setting the three radii basedon a mass of the load.
 4. A robot controller that controls a robot,comprising: a teach pendant that includes a display and that is operatedby a user to teach motion to the robot; and a processor that isconfigured to: cause the display to display a three-dimensional model ofthe robot and a three-dimensional model of a load connected to a robotarm of the robot; define a solid having three radii extending indirections of three axes that are orthogonal to one another; determine aratio of the three radii that corresponds to a ratio of values ofinertia around the three axes at a centroid of the load to define anellipsoid having diameters in three directions orthogonal to oneanother; and cause the display to display the defined ellipsoid.
 5. Therobot controller according to claim 4, wherein the processor is furtherconfigured to cause the display to display the defined ellipsoid so thata center position of the defined ellipsoid coincides with a positioncorresponding to the centroid of the load in the three-dimensional modelof the load.
 6. The robot controller according to claim 4, wherein theprocessor is further configured to define the solid by setting the threeradii based on a mass of the load.
 7. An augmented reality system thatprovides augmented reality including a real robot to a user, comprising:a display; and a processor that is configured to: cause the display todisplay augmented reality including the real robot and a load connectedto a robot arm of the real robot; define a solid having three radiiextending in directions of three axes that are orthogonal to oneanother; determine a ratio of the three radii that corresponds to aratio of values of inertia around the three axes at a centroid of theload to define an ellipsoid having diameters in three directionsorthogonal to one another; and cause the display to display the definedellipsoid.
 8. The augmented reality system according to claim 7, whereinthe processor is further configured to cause the display to display thedefined ellipsoid so that a center position of the defined ellipsoidcoincides with the centroid of the load.
 9. The augmented reality systemaccording to claim 7, wherein the processor is further configured todefine the first solid by setting the three radii based on mass of theload.
 10. The augmented reality system according to claim 7, wherein thedisplay displays an image of the real robot acquired by a camera. 11.The augmented reality system according to claim 7, wherein the displayis a transparent display that allows light to pass through thetransparent display, and the user views the real robot through thetransparent display.